﻿/*************************************************************************
 **项目名称： MPACorePhoneBook.PhoneBooks   
 **项目描述：      
 **类 名 称： IPersonAppService
 **说    明： 
 **作    者： 马忠磊
 **邮    箱： 524402195@qq.com
 **微    信： mazhonglei070246
 **博    客： https://blog.csdn.net/mzl87
 **创建时间： 2019/5/5 16:36:29
 **修 改 人：        
 **修改时间：    
**************************************************************************/
using Abp.Application.Services;
using Abp.Application.Services.Dto;
using MPACorePhoneBook.PhoneBooks.Dto;
using System.Threading.Tasks;

namespace MPACorePhoneBook.PhoneBooks
{
    /// <summary>
    /// IPersonAppService 的摘要说明
    /// </summary>
    public interface IPersonAppService : IApplicationService
    {
        /// <summary>
        /// 得到人员分页信息
        /// </summary>
        /// <param name="input"></param>
        /// <returns></returns>
        Task<PagedResultDto<PersonListDto>> GetPagedPersonAsync(GetPersonInput input);

        /// <summary>
        /// 根据ID获取相关联系人信息
        /// </summary>
        /// <returns></returns>
        Task<PersonListDto> GetPersonByIdAsync(NullableIdDto input);

        /// <summary>
        /// 根据ID获取相关联系人信息(为编辑）
        /// </summary>
        /// <returns></returns>
        Task<GetPersonForEditOutput> GetPersonForEditAsync(NullableIdDto input);

        /// <summary>
        /// 新增或更新联系人信息
        /// </summary>
        /// <returns></returns>
        Task CreateOrUpdatePersonAsync(CreateOrUpdatePersonInput input);

        /// <summary>
        /// 删除联系人信息
        /// </summary>
        /// <param name="input"></param>
        /// <returns></returns>
        Task DeletePersonAsync(EntityDto input);
    }
}
